Шаг 359 - Вот оно, группировка в таблице значений.

Ради чего мы все поместили в таблицу значений ? Ради того, что бы одним заходом сгруппировать по полю ГруппыОС что нам и нужно было.

Процедура Сформировать()         
               
       Результат = СоздатьОбъект("ТаблицаЗначений"); 
       Результат.НоваяКолонка("ГруппыОС","Перечисление.ГруппыОС");
       Результат.НоваяКолонка("начБаланс");
              
       Т = СоздатьОбъект("Таблица");

       БИ = СоздатьОбъект("БухгалтерскиеИтоги");
       БИ.ИспользоватьСубконто(ВидыСубконто.ОсновныеСредства);
       БИ.ВыполнитьЗапрос(ДатаНач,ДатаКон,"01.1");
       БИ.ВыбратьСубконто(1,0,0,0,0,"Группа",0);

        Пока БИ.ПолучитьСубконто() = 1 Цикл 
              Результат.НоваяСтрока();     
               Результат.ГруппыОС = БИ.Субконто().Группа;
               Результат.начБаланс=БИ.СНД();     
           КонецЦикла;      
                                       
       Результат.Свернуть("1","2");         
     
     Т.ТолькоПросмотр(1);
     Т.Показать();      
КонецПроцедуры

Как видите я указал, что группировать по первому полю а суммировать по второму. Круто. Смотрим описание.

Свернуть
Свернуть таблицу значений но соответствующим значениям колонок.

Синтаксис:
Свернуть(<ГруппКолонки>,<СуммКолонки>)

Англоязычный синоним:
GroupBy

Параметры:
<ГруппКолонки> Группировочные колонки (номера или идентификаторы колонок через запятую), по которым группировать данные.
<СуммКолонки> Суммируемые колонки (номера или идентификаторы колонок через запятую), по которым суммировать данные.

Описание:
Метод Свернуть позволяет свернуть таблицу значений по соответствующим значениям колонок, т. е. заменяет на одну строку все дублирующие (по значениям группировочных колонок) строки, суммируя значения но суммируемым колонкам.

Hosted by uCoz